package ejb.cbm.admin.entity;
// default package


import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;


/**
 * TipoParametro generated by MyEclipse Persistence Tools
 */
@Entity
@Table(name="TIPOPARAMETRO",uniqueConstraints = { @UniqueConstraint( columnNames = { "CODIGOUNICO" } ) })
public class TipoParametroEntity  implements java.io.Serializable {


    // Fields    

     private Long codigotipoparametro;
     private String codigounico;
     private Long tipo;
     private String descripcionparametro;
     private Long flagactivo;
     private String usuarioregistro;
     private Date fecharegistro;
     private String usuariomodificacion;
     private Date fechamodificacion;
     private List<ParametroEntity> parametros = new ArrayList<ParametroEntity>(0);


    // Constructors

    /** default constructor */
    public TipoParametroEntity() {
    }

	/** minimal constructor */
    public TipoParametroEntity(Long codigotipoparametro, String usuarioregistro, Date fecharegistro, String usuariomodificacion, Date fechamodificacion) {
        this.codigotipoparametro = codigotipoparametro;
        this.usuarioregistro = usuarioregistro;
        this.fecharegistro = fecharegistro;
        this.usuariomodificacion = usuariomodificacion;
        this.fechamodificacion = fechamodificacion;
    }
    
    /** full constructor */
    public TipoParametroEntity(Long codigotipoparametro, String codigounico, Long tipo, String descripcionparametro, Long flagactivo, String usuarioregistro, Date fecharegistro, String usuariomodificacion, Date fechamodificacion, List<ParametroEntity> parametros) {
        this.codigotipoparametro = codigotipoparametro;
        this.codigounico = codigounico;
        this.tipo = tipo;
        this.descripcionparametro = descripcionparametro;
        this.flagactivo = flagactivo;
        this.usuarioregistro = usuarioregistro;
        this.fecharegistro = fecharegistro;
        this.usuariomodificacion = usuariomodificacion;
        this.fechamodificacion = fechamodificacion;
        this.parametros = parametros;
    }

   
    // Property accessors
    @Id   
    @Column(name="CODIGOTIPOPARAMETRO", unique=true, nullable=false, insertable=true, updatable=true, precision=8, scale=0)
    public Long getCodigotipoparametro() {
        return this.codigotipoparametro;
    }
    
    public void setCodigotipoparametro(Long codigotipoparametro) {
        this.codigotipoparametro = codigotipoparametro;
    }
    
    @Column(name="CODIGOUNICO", unique=true, nullable=true, insertable=true, updatable=true, length=30)

    public String getCodigounico() {
        return this.codigounico;
    }
    
    public void setCodigounico(String codigounico) {
        this.codigounico = codigounico;
    }
    
    @Column(name="TIPO", unique=false, nullable=true, insertable=true, updatable=true, precision=1, scale=0)

    public Long getTipo() {
        return this.tipo;
    }
    
    public void setTipo(Long tipo) {
        this.tipo = tipo;
    }
    
    @Column(name="DESCRIPCIONPARAMETRO", unique=false, nullable=true, insertable=true, updatable=true, length=200)

    public String getDescripcionparametro() {
        return this.descripcionparametro;
    }
    
    public void setDescripcionparametro(String descripcionparametro) {
        this.descripcionparametro = descripcionparametro;
    }
    
    @Column(name="FLAGACTIVO", unique=false, nullable=true, insertable=true, updatable=true, precision=1, scale=0)

    public Long getFlagactivo() {
        return this.flagactivo;
    }
    
    public void setFlagactivo(Long flagactivo) {
        this.flagactivo = flagactivo;
    }
    
    @Column(name="USUARIOREGISTRO", unique=false, nullable=false, insertable=true, updatable=true, length=30)

    public String getUsuarioregistro() {
        return this.usuarioregistro;
    }
    
    public void setUsuarioregistro(String usuarioregistro) {
        this.usuarioregistro = usuarioregistro;
    }
@Temporal(TemporalType.DATE)
    @Column(name="FECHAREGISTRO", unique=false, nullable=false, insertable=true, updatable=true, length=7)

    public Date getFecharegistro() {
        return this.fecharegistro;
    }
    
    public void setFecharegistro(Date fecharegistro) {
        this.fecharegistro = fecharegistro;
    }
    
    @Column(name="USUARIOMODIFICACION", unique=false, nullable=false, insertable=true, updatable=true, length=30)

    public String getUsuariomodificacion() {
        return this.usuariomodificacion;
    }
    
    public void setUsuariomodificacion(String usuariomodificacion) {
        this.usuariomodificacion = usuariomodificacion;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="FECHAMODIFICACION", unique=false, nullable=false, insertable=true, updatable=true, length=7)

    public Date getFechamodificacion() {
        return this.fechamodificacion;
    }
    
    public void setFechamodificacion(Date fechamodificacion) {
        this.fechamodificacion = fechamodificacion;
    }
    @OneToMany(cascade={CascadeType.ALL}, fetch=FetchType.LAZY, mappedBy="tipoparametro")

    public List<ParametroEntity> getParametros() {
        return this.parametros;
    }
    
    public void setParametros(List<ParametroEntity> parametros) {
        this.parametros = parametros;
    }
}